'\" t
.\"     Title: ndbmtd
.\"    Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
.\"      Date: 11/26/2022
.\"    Manual: MySQL Database System
.\"    Source: MySQL 8.0
.\"  Language: English
.\"
.TH "NDBMTD" "8" "11/26/2022" "MySQL 8\&.0" "MySQL Database System"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
ndbmtd \- the NDB Cluster data node daemon (multithreaded version)
.SH "SYNOPSIS"
.HP \w'\fBndbmtd\ \fR\fB\fIoptions\fR\fR\ 'u
\fBndbmtd \fR\fB\fIoptions\fR\fR
.SH "DESCRIPTION"
.PP
\fBndbmtd\fR
is a multithreaded version of
\fBndbd\fR, the process that is used to handle all the data in tables using the
NDBCLUSTER
storage engine\&.
\fBndbmtd\fR
is intended for use on host computers having multiple CPU cores\&. Except where otherwise noted,
\fBndbmtd\fR
functions in the same way as
\fBndbd\fR; therefore, in this section, we concentrate on the ways in which
\fBndbmtd\fR
differs from
\fBndbd\fR, and you should consult
ndbd(8), for additional information about running NDB Cluster data nodes that apply to both the single\-threaded and multithreaded versions of the data node process\&.
.PP
Command\-line options and configuration parameters used with
\fBndbd\fR
also apply to
\fBndbmtd\fR\&. For more information about these options and parameters, see
ndbd(8), and
Section\ \&23.4.3.6, \(lqDefining NDB Cluster Data Nodes\(rq, respectively\&.
.PP
\fBndbmtd\fR
is also file system\-compatible with
\fBndbd\fR\&. In other words, a data node running
\fBndbd\fR
can be stopped, the binary replaced with
\fBndbmtd\fR, and then restarted without any loss of data\&. (However, when doing this, you must make sure that
MaxNoOfExecutionThreads
is set to an appropriate value before restarting the node if you wish for
\fBndbmtd\fR
to run in multithreaded fashion\&.) Similarly, an
\fBndbmtd\fR
binary can be replaced with
\fBndbd\fR
simply by stopping the node and then starting
\fBndbd\fR
in place of the multithreaded binary\&. It is not necessary when switching between the two to start the data node binary using
\fB\-\-initial\fR\&.
.PP
Using
\fBndbmtd\fR
differs from using
\fBndbd\fR
in two key respects:
.sp
.RS 4
.ie n \{\
\h'-04' 1.\h'+01'\c
.\}
.el \{\
.sp -1
.IP "  1." 4.2
.\}
Because
\fBndbmtd\fR
runs by default in single\-threaded mode (that is, it behaves like
\fBndbd\fR), you must configure it to use multiple threads\&. This can be done by setting an appropriate value in the
config\&.ini
file for the
MaxNoOfExecutionThreads
configuration parameter or the
ThreadConfig
configuration parameter\&. Using
MaxNoOfExecutionThreads
is simpler, but
ThreadConfig
offers more flexibility\&. For more information about these configuration parameters and their use, see
Multi-Threading Configuration Parameters (ndbmtd)\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04' 2.\h'+01'\c
.\}
.el \{\
.sp -1
.IP "  2." 4.2
.\}
Trace files are generated by critical errors in
\fBndbmtd\fR
processes in a somewhat different fashion from how these are generated by
\fBndbd\fR
failures\&. These differences are discussed in more detail in the next few paragraphs\&.
.RE
.PP
Like
\fBndbd\fR,
\fBndbmtd\fR
generates a set of log files which are placed in the directory specified by
DataDir
in the
config\&.ini
configuration file\&. Except for trace files, these are generated in the same way and have the same names as those generated by
\fBndbd\fR\&.
.PP
In the event of a critical error,
\fBndbmtd\fR
generates trace files describing what happened just prior to the error\*(Aq occurrence\&. These files, which can be found in the data node\*(Aqs
DataDir, are useful for analysis of problems by the NDB Cluster Development and Support teams\&. One trace file is generated for each
\fBndbmtd\fR
thread\&. The names of these files have the following pattern:
.sp
.if n \{\
.RS 4
.\}
.nf
ndb_\fInode_id\fR_trace\&.log\&.\fItrace_id\fR_t\fIthread_id\fR,
.fi
.if n \{\
.RE
.\}
.PP
In this pattern,
\fInode_id\fR
stands for the data node\*(Aqs unique node ID in the cluster,
\fItrace_id\fR
is a trace sequence number, and
\fIthread_id\fR
is the thread ID\&. For example, in the event of the failure of an
\fBndbmtd\fR
process running as an NDB Cluster data node having the node ID 3 and with
MaxNoOfExecutionThreads
equal to 4, four trace files are generated in the data node\*(Aqs data directory\&. If the is the first time this node has failed, then these files are named
ndb_3_trace\&.log\&.1_t1,
ndb_3_trace\&.log\&.1_t2,
ndb_3_trace\&.log\&.1_t3, and
ndb_3_trace\&.log\&.1_t4\&. Internally, these trace files follow the same format as
\fBndbd\fR
trace files\&.
.PP
The
\fBndbd\fR
exit codes and messages that are generated when a data node process shuts down prematurely are also used by
\fBndbmtd\fR\&. See
\m[blue]\fBData Node Error Messages\fR\m[]\&\s-2\u[1]\d\s+2, for a listing of these\&.
.if n \{\
.sp
.\}
.RS 4
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
\fBNote\fR
.ps -1
.br
.PP
It is possible to use
\fBndbd\fR
and
\fBndbmtd\fR
concurrently on different data nodes in the same NDB Cluster\&. However, such configurations have not been tested extensively; thus, we cannot recommend doing so in a production setting at this time\&.
.sp .5v
.RE
.SH "COPYRIGHT"
.br
.PP
Copyright \(co 1997, 2022, Oracle and/or its affiliates.
.PP
This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.
.PP
This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
.PP
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/.
.sp
.SH "NOTES"
.IP " 1." 4
Data Node Error Messages
.RS 4
\%https://dev.mysql.com/doc/ndb-internals/en/ndb-node-error-messages.html
.RE
.SH "SEE ALSO"
For more information, please refer to the MySQL Reference Manual,
which may already be installed locally and which is also available
online at http://dev.mysql.com/doc/.
.SH AUTHOR
Oracle Corporation (http://dev.mysql.com/).
